package cn.net.api;
/**本类用于测试【两种字符串拼接方法】的效率*/
public class TestString_BufferBuilder {
    public static void main(String[] args) {
        String s = "abcdefghjklmnopqrstuvwxyz";
        //method(s);//调用方法一完成+号拼接
        method2(s);//方法二完成优化拼接
    }
            /**1.创建StringBuffer/StringBulider*/
    private static void method2(String s) {
        /**优化1:String-->StringBuffer/StringBuilder*/
                StringBuffer sb =new StringBuffer();
                StringBuilder sb2 =new StringBuilder();
                /**2.可以添加一个计时功能*/
        //3.获取系统当前时间作为开始时间
        long t1 = System.currentTimeMillis();//ms
        for(int i = 0; i < 10000 ; i++) {// 4.拼接10000次
            /**优化2: +号变成append() */
              sb.append(s);
            //sb2.append(str);
        }
        //5.获取系统当前时间作为结束时间
        long t2 = System.currentTimeMillis();//ms
        //6.打印拼接总共花费的总时长
        System.out.println(sb.toString());//打印拼接的结果
        System.out.println(t2-t1);//1
    }

    private static void method(String s) {
        String n = "";
       long t1  = System.currentTimeMillis();//开始计时1
        for(int i=0;i<=10000;i++){//拼接0~10000ci
            n = n+s;//加号字符串拼接
        }
        long t2  = System.currentTimeMillis();//结束计时2
        System.out.println(n);
        System.out.println(t2-t1);
    }
}
